1. Field
Embodiments of the invention relate to updating of objects in persistent storage. More specifically, embodiments of the invention relate to insuring data consistency during the parallel update of objects requiring time sensitive response.
2. Background
Integrated information technology (IT) solutions attempt, to the extent possible, to provide real time information for a given business process instance integrated across several business objects and IT components. Business processes are often modeled as objects within the computer system. These objects control the fulfillment of the business process or some part thereof. These objects are used for both visibility and as active process control. In the context of warehouse management, a warehouse request business object (BO) triggers the warehouse execution and controls its fulfillment. For example, warehouse request BO may be a customer order expected to be shipped in the near future. This can then be thought of as a planned delivery.
In many modern warehouse scenarios, warehouse workers do not execute their work directly based on this business object. Instead, tasks associated with multiple business objects may be bundled together for execution. For example, a bundle may be instructions for one worker on a single picking path. As used herein, “task” is a work operation for a single worker. Optimization algorithms may be used to bundle tasks independent of what warehouse request (e.g., customer order) they are associated with. In some cases, the optimization algorithms split items within a warehouse request into multiple tasks that may be assigned to different task bundles. These tasks, and task bundles, are represented in a computer system as additional business objects. This permits users to report/confirm their work using these objects.
For the warehouse request BO to provide visibility and control its fulfillment, data in that BO needs to be updated whenever a task is created or its execution is confirmed. However, because of the task creation and bundling described above, multiple users may confirm task execution for the same warehouse request or even the same item within a warehouse request. In parallel, at substantially the same point in time. This need for substantive simultaneous update can result in lock collision and degrade performance of the system with a corresponding negative impact on efficiency in the warehouse.